package uk.ac.cam.djjb2.mygame;

public class ConnectorTile extends BasicTile {

	private String connectAttr;
	
	public ConnectorTile(int id, int firstImageIndex, String connectAttr, String... attributes) {
		super(id, firstImageIndex, attributes);
		this.connectAttr = connectAttr;
	}
	
	@Override
	public int getImageIndex(TileMap map, Vector2i pos) {
		boolean[] cons = {
			map.getTileAttribute(pos.add(-1, 0), connectAttr),
			map.getTileAttribute(pos.add(0, -1), connectAttr),
			map.getTileAttribute(pos.add(1, 0), connectAttr),
			map.getTileAttribute(pos.add(0, 1), connectAttr)
		};
		int offset = (cons[0] ? 1 : 0)
				   | (cons[1] ? 2 : 0)
				   | (cons[2] ? 4 : 0)
				   | (cons[3] ? 8 : 0);
		return super.getImageIndex(map, pos) + offset;
	}
}
